<?php

class Login extends CI_Controller {

    function __construct() {
        parent::__construct(CI_Controller::$LOGIN);
        $this->load->model('Usuario_model');
    }

    public function index()
    {
        $args['errorMsg'] = '';
        $args['title'] = 'Inicio de sesión';
        $this->load->view('login', $args);

    }
    public function registrar()
    {
        $args['errorMsg'] = '';
        $args['title'] = 'Registrar Usuario';
        $this->load->view('regUsuario', $args);
    }
    public function validaLogin(){

        $this->form_validation->set_rules('user', 'Username', 'required');
        $this->form_validation->set_rules('pass', 'Password', 'required');

        if ($this->form_validation->run()){

            $user = $this->input->post('user');
            $pass = $this->input->post('pass');
            $resultado=$this->Usuario_model->verify_details($user,$pass);
            if ($resultado==1) {
                $this->session->set_flashdata('error',"Email o clave incorrectas");
                redirect('login','refresh');
            }
            else if($resultado==2){
                $this->session->set_flashdata('error',"Ha exedido el número máximo de intento. Intentelo después de 24 horas.");
                redirect('login','refresh');
            }
            else if($resultado==3){
                $this->session->set_flashdata('error',"Usuario no registrado.");
                redirect('login','refresh');
            }
//            Se obtienen los datos del usuario
            $empresario = $this->Usuario_model->get_by_username($user);
            if ($empresario[0]['est']=='I') {
                $this->session->set_flashdata('error',"Su usuario fue desactivado. Comuníquese con nosotros.");
                redirect('login','refresh');
            }
            $data = array(
                'username' => $empresario[0]['username'],
                'user_id' => $empresario[0]['id'],
                'role_id' => $empresario[0]['role_id'],
                'logged_in' => TRUE
            );
            
            //puede ser un tipo de paciente o un tipo de personal diferente. Aca se vería a donde se redirige.
            $this->session->set_userdata('logged_in',$data);
    
                redirect('home/inicioSesion','refresh');
            
        } 
        else {
            $this->session->set_flashdata('error',"Debe ingresar su Email y su contraseña");
            redirect('login','refresh');
        }

        $this->load->view('login');
    }

    public function logout(){

        $this->session->sess_destroy();
        $this->session->unset_userdata('logged_in');
        $this->session->set_flashdata('error',"Usted ha salido de su sesión");
        redirect('login','refresh');

    }

}

?>
